import { EvmAddress } from '@/components/blocks/evm-address/evm-address'; import { PageHeader } from '@/components/layout/page-header'; import { EvmAddressBalances } from '@/components/ui/evm-address-balances'; import type { Metadata } from 'next'; import type { PropsWithChildren } from 'react'; import type { Address } from 'viem'; import { getCryptocurrencyTitle } from './_components/data'; interface LayoutProps extends PropsWithChildren { params: Promise<{ id: string; }>; } export async function generateMetadata({ params }: LayoutProps): Promise { const { id } = await params; const cryptocurrency = await getCryptocurrencyTitle(id); if (!cryptocurrency) { return { title: 'Cryptocurrency not found', }; } return { title: cryptocurrency?.name, openGraph: { images: [ { url: `/share/cryptocurrencies/${id}/og`, width: 1280, height: 640, alt: cryptocurrency?.name, }, ], }, twitter: { images: [ { url: `/share/cryptocurrencies/${id}/og`, width: 1280, height: 640, alt: cryptocurrency?.name, }, ], }, }; } export default async function FundsDetailLayout({ children, params }: LayoutProps) { const { id } = await params; const cryptocurrency = await getCryptocurrencyTitle(id); return (
{cryptocurrency?.name} ({cryptocurrency?.symbol}) } subtitle={ } /> {children}
); }